閒聊
昨天進行了基本常用的語法後,今天要繼續來學習python中的其他用法。
在python中,區分程式碼區塊(block)是使用縮排(indentation),這點跟習慣用C語言的比較不一樣。
縮排會用到的長度為4個空白鍵,或者是使用tab(這點跟Java是一樣的)。
比較運算子
在介紹條件判斷前,先介紹比較運算子是什麼。
在python中是用來進行物件的比較大小。
條件判斷
也就是常聽到的if和if-else,不過在python中,還會出現if-elif-else。
:。if範例
price = 120
if price <200 : #因為目前的price小於200元,所以會執行if這一行程式
    print('錢不夠購買')
:
if-else範例
student = 69
if student <= 70 :
    print('可以加簽')
else:
    print('人數已滿')
上面的程式會output出可以加簽,因為目前學生人數69人小於70。
若我們把程式改成
if-else範例
student = 80
if student <= 70 :
    print('可以加簽')
else:
    print('人數已滿')
則會output出人數已滿。
if-elif-else 
if-elif-else範例
temperature = 36.2
if temperature <=37 :
    print('體溫正常')
elif 37.5 <= temperature <38 :
    print('輕微發燒')
else :
    print('發燒')
邏輯運算子
了解條件判斷後,就可以來認識邏輯運算子了。
總共有3個
and。studnet = True
teaching assistant = True
if student and teaching assistant :
    print('你有管理成績的權限')
else :
    print('你沒有權限進入')
or。member = True
manager = True
if member or manager :
    print('你有50%的折扣優惠')
else :
    print('你有90%的折扣優惠')
False。True。member = False #會員
if not member : #不是會員
    print('你無法有會員折扣')
所以這裡會output你無法有會員折扣。
迴圈For-loop
定義:讓指定的物件在條件符合的情況下 重複執行。
類別:
for-loop後方要加上 :
for 物件 in 目標物 : #目標物為可疊代(Iterable)或是序列(sequence)
    #要執行的物件
在語法中, in後面的目標物就是loop要讀取的目標。這個迴圈,就會從目標物中,讀取每次接收到的物件(依序排列)。
for-loop範例
for letter in "Happy" :
    print(letter)
#output
H
a
p
p
y
目標物也可以放入list(串列)
dinner = ['pizza','salad','cake']
for i in dinner :
    print(i)
#output
pizza
salad
cake
for i in range(1,10) : #i的數字1到9
    for j in range(1,10) :  #j的數字1到9
        if j == 9 :
            print('\t', i*j) #j等於9的時候換行
        else :
            print("\t", i*j, end = '') #j < 9時,不換行
執行結果
while-loop範例
i = 1
while i <= 10 : #while先判斷i是否<=10
    print(i,end = '')
    i = i+1
#output
12345678910
迴圈結束
分為了兩種:
for i in "Hello world." :
    if i == "o" :
        break
    print(i) #因為印出i這個指令在break後面,所以就不會執行到了
#output
H
e
l
l
for i in "Hello world." :
    if i == "o" :
        continue
    print(i) #印出i是在contunue後面,所以只有o這個字母被跳過而已
#output
H
e
l
l
 
w
r
l
d
.
結語
今天遇到最讓我困擾的地方應該是邏輯運算子的not那邊,他的邏輯我個人覺得比較繞一點(比起其他兩個),讓我想要怎麼寫想了一陣子。相較迴圈,複習起來花了比較多的時間...
也趁機好好閱讀了迴圈的差別跟用法,覺得好像又學到不少東西了!
明天
【Day 5】Python函數(function)
參考資料
[Python教學]搞懂5個Python迴圈常見用法https://www.learncodewithmike.com/2019/12/python.html
Python 初學第四講 — 迴圈 https://medium.com/ccclub/ccclub-python-for-beginners-tutorial-4990a5757aa6